Travaux pratiques:

Importer, traiter et illustrer vos données

Plan

  • Introduction
  • Découverte des derniers outils graphiques de R (graphes interactifs et SIG)
  • Télécharger des données en lien avec votre sujet de mémoire
  • Traiter et importer les données dans l’environnement R
  • Explorer vos données à l’aide de graphiques
  • Exporter vos graphiques

Introduction

Interactivité

library("highcharter")
library("forecast") # appels des paquets 

airforecast <- forecast(auto.arima(AirPassengers), level = 95) # 

hchart(airforecast) %>%
  hc_title(text = "Utilsation de graphe interactif") 

R peut incorporer facilement n’importe quels types de codes (html, javascript …)

SIG système d’information géographique

library(leaflet)
library(ggmap)
essca=geocode(location = c("Angers","Aix en Provence","cholet","Nantes","Nantes","Budapest","Paris","Toulouse","Lyon","Bordeaux","Shanghai"))
essca$ville= c("Angers","Aix en Provence","cholet","Nantes","Nantes","Budapest","Paris","Toulouse","Lyon","Bordeaux","Shanghai")
head(essca)
##         lon      lat           ville
## 1 -0.563166 47.47842          Angers
## 2  5.447427 43.52974 Aix en Provence
## 3 -0.879787 47.05941          cholet
## 4 -1.553621 47.21837          Nantes
## 5 -1.553621 47.21837          Nantes
## 6 19.040235 47.49791        Budapest
m <- leaflet() %>% addTiles()  %>%  addMarkers(lng = essca$lon ,lat = essca$lat,popup = essca$ville)  # on peut mettre que lon et lat à la place de essca$lon et essca$lat
m

TP : 1er étape data maning

Exemple de projet sur le crow funding :

Puis il est nécessaire d’importer les données trouvées précédemment dans R.

 kick_start <- read.csv("~/Data_Viz_Fin403/Data_Viz_Fin403/data/kick_start.csv", sep=";", stringsAsFactors=FALSE)
 View(kick_start) # pour visualiser les données 
 class(kick_start$Moins.de.1000..) # pour connaître le type de données 
## [1] "integer"

Ou par méthode graphique :

TP : 2eme étape mise en forme des données

Rappels sur GGplot

La forme de base d’un graphique R ggplot est la suivante :

ggplot(data_set) + plot_type(aes(x_variable,y_variable)) 

Pour une analyse univariée, on peut spécifier seulement une variable par exemple dans le cas d’un box plot, histogramme et un graphique de densité de probabilité.

_ plot_type spécifie le type de graphes _ data_set fournit les données du graphes

Ggplot2 donne plusieurs moyens et options qui permettent de manipuler et de changer le type de graphique. Les aesthetics peuvent être manipulés de deux façons :

  • façon manuelle par exemple geom_point(color=“red”,aes(x,y)) tous les points définis par x et y seront rouges
  • façon automatique qui permet de colorier les points geom_point(aes(x,y,colour=pertes)) en fonction d’une variable (une colonne de la data frame data_set)

Création de graphique

Il faut partir d’un graphique simple puis ajouter des couches et des options :

library(ggplot2)

ggplot(kick_start) + geom_bar(stat="identity",aes(x = X, y=plus.de.1M../Projet.finance.integralement)) +coord_flip()

On peut changer la couleur des geom_bar de deux façons :

  • manuelle
library(ggplot2)

ggplot(kick_start) + geom_bar(stat="identity",aes(x = X, y=plus.de.1M../Projet.finance.integralement),fill="red") +coord_flip() # manuelle en dehors de aes

  • automatique
library(ggplot2)

ggplot(kick_start) + geom_bar(stat="identity",aes(x = X, y=plus.de.1M../Projet.finance.integralement,fill=X)) +coord_flip() # automatique dans aes

Il est possible d’ajouter toutes les données de la dataframe à l’aide de facet_wrap et de la librairie reshape2.

library(reshape2)
kick_start.m = melt(data = kick_start[,-2],id.vars = "X")

ggplot(kick_start.m) + geom_bar(stat="identity",aes(x = X, y=value/kick_start$Projet.finance.integralement,fill=X),position = "dodge") + facet_wrap(facets =~variable) +coord_flip()

TP : 3 eme étape exporter le graphique

Des outils addins permettent de modifier les graphes ggplot de façon automatique.